/* $Id: NonClientPersonDAO.java 
 * Copyright (C) 2011, TRAKHEES
 *  
 * Revision History
 *
 * Date  			Author 		    	Remarks
 * ---------------------------------------------------------------------------------
 *March 16, 2011 	Raif		 		Created
 *
 */
package ae.pcfc.etks.online.common.dao;

import ae.pcfc.etks.online.common.domain.ClientPersonReq;

public interface NonClientPersonDAO {
	
	/**
	 * getNonClientPersonByApplicationId
	 * Method to find the Client Person Request by application id
	 * @param applicationId
	 * @return
	 * ClientPersonReq
	 */
	public ClientPersonReq getNonClientPersonByApplicationId(String applicationId);

	/**
	 * add
	 * Method to add a Client Person request to the database
	 * @param clientPersonReq
	 * void
	 */
	public void add(ClientPersonReq clientPersonReq);
	
	/**
	 * findByPrimaryKey
	 * Method to find the client person request domain object by primary key
	 * @param id
	 * @return
	 * ClientPersonReq
	 */
	public ClientPersonReq findByPrimaryKey(String id);
	
	/**
	 * findByPropertyName
	 * Method to  find the client person request domain object by a property value
	 * @param propertyName
	 * @param propertyValue
	 * @return
	 * ClientPersonReq
	 */
	public ClientPersonReq findByPropertyName(String propertyName, String propertyValue);

	/**
	 * validateByPropertyName
	 * Method to validate whether a property value is already used by any active client person request
	 * @param strPropertyName
	 * @param strPropertyValue
	 * @return
	 * boolean
	 */
	public boolean validateByPropertyName(String strPropertyName,
			String strPropertyValue);

}
